package com.houweishi.module.evection.mapper;

import com.houweishi.module.evection.domain.OaEvection;
import com.houweishi.module.evection.domain.OaEvectionApproval;

import java.util.List;

/**
 * 出差申请Mapper接口
 * 
 * @author houweishi
 * @date 2023-02-21
 */
public interface OaEvectionMapper 
{
    /**
     * 查询出差申请
     * 
     * @param evectionId 出差申请主键
     * @return 出差申请
     */
    public OaEvection selectOaEvectionByEvectionId(Long evectionId);

    /**
     * 查询出差申请列表
     * 
     * @param oaEvection 出差申请
     * @return 出差申请集合
     */
    public List<OaEvection> selectOaEvectionList(OaEvection oaEvection);

    /**
     * 新增出差申请
     * 
     * @param oaEvection 出差申请
     * @return 结果
     */
    public int insertOaEvection(OaEvection oaEvection);

    /**
     * 修改出差申请
     * 
     * @param oaEvection 出差申请
     * @return 结果
     */
    public int updateOaEvection(OaEvection oaEvection);


    /**
     * 删除插入的审批信息记录
     *
     * @param oaEvection 请假管理
     * @return 结果
     */
    public int deleteBizApprovalRecord(OaEvection oaEvection);
    /**
     * 删除出差申请
     * 
     * @param evectionId 出差申请主键
     * @return 结果
     */
    public int deleteOaEvectionByEvectionId(Long evectionId);

    /**
     * 批量删除出差申请
     * 
     * @param evectionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOaEvectionByEvectionIds(Long[] evectionIds);


    /**
     * 查询出差申请列表(含业务表审批状态)
     * @param oaEvection
     * @return
     */
    List<OaEvectionApproval> selectOaEvectionApprovalList(OaEvection oaEvection);
}
